/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.com.losalpes.marketplace.pirfq.beans;

import co.com.losalpes.marketplace.pirfq.bos.CotizacionBO;
import co.com.losalpes.marketplace.pirfq.exceptions.CotizacionNoExisteException;
import java.util.List;
import javax.ejb.Local;

/**
 *
 * @author marketplace
 */
@Local
public interface RFQLocal {

    public java.lang.String crearCotizacion(co.com.losalpes.marketplace.pirfq.bos.CotizacionBO cotizacion);

    public boolean asignarFabricantesACotizacion(java.lang.String numeroCotizacion, java.util.List<co.com.losalpes.marketplace.pirfq.bos.FabricanteBO> fabricantes)throws CotizacionNoExisteException;

    public java.util.List<co.com.losalpes.marketplace.pirfq.bos.CotizacionBO> obtenerCotizacionesPorFabricante(java.lang.Long idFabricante, java.lang.String estado) ;

    public java.lang.Boolean ofertarCotizacion(co.com.losalpes.marketplace.pirfq.bos.FabricanteCotizacionBO fabricanteCotizacion);

    public java.lang.Boolean actualizarEstadoCotizacion(java.lang.String numeroCotizacion, java.lang.String estado)throws CotizacionNoExisteException;

    public java.util.List<co.com.losalpes.marketplace.pirfq.bos.FabricanteCotizacionBO> obtenerOfertasFabricantes(java.lang.String numeroCotizacion)throws CotizacionNoExisteException;

    public java.lang.Boolean asignarCotizacionGanadora(java.lang.String numeroCotizacion, java.lang.String idFabricante)throws CotizacionNoExisteException;

    public List<CotizacionBO> obtenerCotizacionesPorComercio(Long idComercio, String estado);
    
    public boolean asignarFabricanteACotizacion(java.lang.String numeroCotizacion, co.com.losalpes.marketplace.pirfq.bos.FabricanteBO fabricantes) throws co.com.losalpes.marketplace.pirfq.exceptions.CotizacionNoExisteException;

    public boolean editarFechaMaximaCierreCotizacion(java.lang.String numeroCotizacion, java.util.Date fechaMaximaCierre);

    public boolean editarFechaMaximaEntregaCotizacion(java.lang.String numeroCotizacion, java.util.Date fechaMaximaEntrega);

    public boolean editarFabricanteCotizacion(co.com.losalpes.marketplace.pirfq.bos.FabricanteCotizacionBO fabricanteCotizacion);

    public boolean validarEdicion(java.lang.String numeroCotizacion);

    public boolean validarCancelacion(java.lang.String numeroCotizacion);
    
    public CotizacionBO consultarCotizacionporNumSeguimiento(String numSeguimiento);
}
